<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Tekdaqc Firmware: Digital Output</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customstyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Tekdaqc Firmware
   &#160;<span id="projectnumber">1.0.2.0</span>
   </div>
   <div id="projectbrief">The firmware of the Tekdaqc.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__digital__output.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Digital Output<div class="ingroups"><a class="el" href="group__tekdaqc__firmware.html">Tekdaqc Firmware</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_digital___output__t.html">Digital_Output_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data structure used to store the state and requirements of a digital output of the Tekdaqc. This data structure contains all the information related to a particular input to the Tekdaqc. Please note that while there is nothing to stop you from manipulating the values of the structure directly, it is not recommended as it could put the structure in an indeterminate state. Instead, manipulation functions are provided which will ensure that all state related implications are addressed.  <a href="struct_digital___output__t.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga95c04964ce488ee74ca3f32a39a88cb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga95c04964ce488ee74ca3f32a39a88cb7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga95c04964ce488ee74ca3f32a39a88cb7">MAX_DIGITAL_OUTPUT_NAME_LENGTH</a>&#160;&#160;&#160;24</td></tr>
<tr class="memdesc:ga95c04964ce488ee74ca3f32a39a88cb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum number of characters for the name of an digital output. <br/></td></tr>
<tr class="separator:ga95c04964ce488ee74ca3f32a39a88cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43583966bde63db2887f604cf5787741"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga43583966bde63db2887f604cf5787741"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga43583966bde63db2887f604cf5787741">OUTPUT_ON</a>&#160;&#160;&#160;(<a class="el" href="group__board__channel__constants.html#ggaee574a0d48c41a3e5426ffbf8ac4c5c4ab4d04526d504d52286c0125def0faef4">LOGIC_LOW</a>)</td></tr>
<tr class="memdesc:ga43583966bde63db2887f604cf5787741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redefinition of the LOGIC_LOW definition. Used as a code readability convenience. <br/></td></tr>
<tr class="separator:ga43583966bde63db2887f604cf5787741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga514fc5ac6ead9d3aee8ae8fc8188a1d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga514fc5ac6ead9d3aee8ae8fc8188a1d3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga514fc5ac6ead9d3aee8ae8fc8188a1d3">OUTPUT_OFF</a>&#160;&#160;&#160;(<a class="el" href="group__board__channel__constants.html#ggaee574a0d48c41a3e5426ffbf8ac4c5c4ad49fd7cec8a5997c9347759048470fc9">LOGIC_HIGH</a>)</td></tr>
<tr class="memdesc:ga514fc5ac6ead9d3aee8ae8fc8188a1d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redefinition of the LOGIC_HIGH definition. Used as a code readability convenience. <br/></td></tr>
<tr class="separator:ga514fc5ac6ead9d3aee8ae8fc8188a1d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf266fa3481b0804611eb19719346b172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#gaf266fa3481b0804611eb19719346b172">DigitalOutputsInit</a> (void)</td></tr>
<tr class="memdesc:gaf266fa3481b0804611eb19719346b172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the boards digital output data structures.  <a href="#gaf266fa3481b0804611eb19719346b172">More...</a><br/></td></tr>
<tr class="separator:gaf266fa3481b0804611eb19719346b172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga392c891d1dfd4610ea0e1ef67f76872b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga392c891d1dfd4610ea0e1ef67f76872b">GetDigitalOutputByNumber</a> (uint8_t number)</td></tr>
<tr class="memdesc:ga392c891d1dfd4610ea0e1ef67f76872b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the requested digital output.  <a href="#ga392c891d1dfd4610ea0e1ef67f76872b">More...</a><br/></td></tr>
<tr class="separator:ga392c891d1dfd4610ea0e1ef67f76872b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeac54f24092eff564148db6cd346f153"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#gaeac54f24092eff564148db6cd346f153">AddDigitalOutput</a> (<a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *output)</td></tr>
<tr class="memdesc:gaeac54f24092eff564148db6cd346f153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a digital output, marking it for inclusion in the state machine.  <a href="#gaeac54f24092eff564148db6cd346f153">More...</a><br/></td></tr>
<tr class="separator:gaeac54f24092eff564148db6cd346f153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ae9f85352ddfe3c29046f9d3b068d64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga3ae9f85352ddfe3c29046f9d3b068d64">RemoveDigitalOutput</a> (char keys[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], char values[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], int count)</td></tr>
<tr class="memdesc:ga3ae9f85352ddfe3c29046f9d3b068d64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a digital output, marking it for exclusion from the state machine.  <a href="#ga3ae9f85352ddfe3c29046f9d3b068d64">More...</a><br/></td></tr>
<tr class="separator:ga3ae9f85352ddfe3c29046f9d3b068d64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3310818e215cffd25126906b9215e46b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga3310818e215cffd25126906b9215e46b">ListDigitalOutputs</a> (void)</td></tr>
<tr class="memdesc:ga3310818e215cffd25126906b9215e46b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints a representation of all the added digital outputs.  <a href="#ga3310818e215cffd25126906b9215e46b">More...</a><br/></td></tr>
<tr class="separator:ga3310818e215cffd25126906b9215e46b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad98544b3d86d168290b487808e58142f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#gad98544b3d86d168290b487808e58142f">CreateDigitalOutput</a> (char keys[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], char values[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], int count)</td></tr>
<tr class="memdesc:gad98544b3d86d168290b487808e58142f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures a digital output with the specified parameters.  <a href="#gad98544b3d86d168290b487808e58142f">More...</a><br/></td></tr>
<tr class="separator:gad98544b3d86d168290b487808e58142f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f6d7f4a8ed42dfa380728cad94dbc28"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f6d7f4a8ed42dfa380728cad94dbc28"></a>
<a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga7f6d7f4a8ed42dfa380728cad94dbc28">SetDigitalOutput</a> (char keys[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], char values[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], uint8_t count)</td></tr>
<tr class="memdesc:ga7f6d7f4a8ed42dfa380728cad94dbc28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a digital output to the specified state. <br/></td></tr>
<tr class="separator:ga7f6d7f4a8ed42dfa380728cad94dbc28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3853c412989dc241c2c9157e5102673b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga3853c412989dc241c2c9157e5102673b">SetDigitalOutputWriteFunction</a> (<a class="el" href="group__tekdaqc__configuration.html#ga163b2a4cc55a569e988df48908631967">WriteFunction</a> writeFunction)</td></tr>
<tr class="memdesc:ga3853c412989dc241c2c9157e5102673b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the pointer to the function to invoke when digital output data needs to be written.  <a href="#ga3853c412989dc241c2c9157e5102673b">More...</a><br/></td></tr>
<tr class="separator:ga3853c412989dc241c2c9157e5102673b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51fe681dd6e8e9f84a03b8c71af0b71d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga51fe681dd6e8e9f84a03b8c71af0b71d">SampleDigitalOutput</a> (<a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *output)</td></tr>
<tr class="memdesc:ga51fe681dd6e8e9f84a03b8c71af0b71d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Samples the specified digital output's level and writes out the result.  <a href="#ga51fe681dd6e8e9f84a03b8c71af0b71d">More...</a><br/></td></tr>
<tr class="separator:ga51fe681dd6e8e9f84a03b8c71af0b71d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc8cec336fbe7c0aae9dcca1914f7882"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#gacc8cec336fbe7c0aae9dcca1914f7882">SampleAllDigitalOutputs</a> (void)</td></tr>
<tr class="memdesc:gacc8cec336fbe7c0aae9dcca1914f7882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Samples the digital output level of all added digital outputs, writing out the results.  <a href="#gacc8cec336fbe7c0aae9dcca1914f7882">More...</a><br/></td></tr>
<tr class="separator:gacc8cec336fbe7c0aae9dcca1914f7882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa10fe33be14ef4d8e16e6345f57938c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#gaa10fe33be14ef4d8e16e6345f57938c5">WriteDigitalOutput</a> (<a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *output)</td></tr>
<tr class="memdesc:gaa10fe33be14ef4d8e16e6345f57938c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes out the data for the specified digital output.  <a href="#gaa10fe33be14ef4d8e16e6345f57938c5">More...</a><br/></td></tr>
<tr class="separator:gaa10fe33be14ef4d8e16e6345f57938c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1198a3ce0740a6ba43f5325d3ba9f950"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga1198a3ce0740a6ba43f5325d3ba9f950">WriteAllDigitalOutputs</a> (void)</td></tr>
<tr class="memdesc:ga1198a3ce0740a6ba43f5325d3ba9f950"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes out the data for all added digital outputs.  <a href="#ga1198a3ce0740a6ba43f5325d3ba9f950">More...</a><br/></td></tr>
<tr class="separator:ga1198a3ce0740a6ba43f5325d3ba9f950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5178a212748e618e157767d96991b0b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#ga5178a212748e618e157767d96991b0b8">CheckDigitalOutputStatus</a> (void)</td></tr>
<tr class="memdesc:ga5178a212748e618e157767d96991b0b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks the stored status register contents for any errors.  <a href="#ga5178a212748e618e157767d96991b0b8">More...</a><br/></td></tr>
<tr class="separator:ga5178a212748e618e157767d96991b0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae27ad2dffb82e46632339521c3cfd6ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__digital__output.html#gae27ad2dffb82e46632339521c3cfd6ee">SetDigitalOutputFaultStatus</a> (<a class="el" href="group__tle7232__driver.html#ga84bb3f68b575c6add1c27f053b87746a">TLE7232_Status_t</a> status, uint8_t chip_id, uint8_t channel)</td></tr>
<tr class="memdesc:gae27ad2dffb82e46632339521c3cfd6ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the fault status register on the specified output driver.  <a href="#gae27ad2dffb82e46632339521c3cfd6ee">More...</a><br/></td></tr>
<tr class="separator:gae27ad2dffb82e46632339521c3cfd6ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaeac54f24092eff564148db6cd346f153"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> AddDigitalOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Adds an digital output structure to the board's appropriate list of outputs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>Digital_Output_t* The digital output structure to add. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00320">320</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga5178a212748e618e157767d96991b0b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a> CheckDigitalOutputStatus </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Checks the current status of all digital outputs on the board, returning if a fault has occurred or not.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">bool</td><td>TRUE if a fault was detected. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00565">565</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="gad98544b3d86d168290b487808e58142f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> CreateDigitalOutput </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>keys</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>values</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates a new digital output data structure from the supplied parameters and adds it to the board's relevant output list.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>char** Array of strings containing the command line keys. Indexed with values. </td></tr>
    <tr><td class="paramname">values</td><td>char** Array of strings containing the command line values. Indexed with keys. </td></tr>
    <tr><td class="paramname">count</td><td>uint8_t The number of parameters passed on the command line. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">uint8_t</td><td>The error status code. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00237">237</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaf266fa3481b0804611eb19719346b172"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DigitalOutputsInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes all requisite sub-modules to properly operate digital outputs. This includes any multiplexing and default inputs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00177">177</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga392c891d1dfd4610ea0e1ef67f76872b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_digital___output__t.html">Digital_Output_t</a>* GetDigitalOutputByNumber </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve a digital output structure by specifying the physical output channel.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">number</td><td>uint8_t The physical output channel to retrieve. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">Digital_Output_t*</td><td>Pointer to the analog input structure. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00394">394</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga3310818e215cffd25126906b9215e46b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> ListDigitalOutputs </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Prints a human readable representation of all the added digital outputs via the current write function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tekdaqc_Function_Error_t The error status of this function. </dd></dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00192">192</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga3ae9f85352ddfe3c29046f9d3b068d64"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> RemoveDigitalOutput </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>keys</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>values</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Removes an digital output from the board's list based on the supplied parameters.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>char** Array of strings containing the command line keys. Indexed with values. </td></tr>
    <tr><td class="paramname">values</td><td>char** Array of strings containing the command line values. Indexed with keys. </td></tr>
    <tr><td class="paramname">count</td><td>uint8_t The number of parameters passed on the command line. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">int</td><td>The error status code. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00345">345</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="gacc8cec336fbe7c0aae9dcca1914f7882"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SampleAllDigitalOutputs </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Samples the digital output level of all added digital inputs, writing out the results.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00507">507</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga51fe681dd6e8e9f84a03b8c71af0b71d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SampleDigitalOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Samples the specified digital output's level and writes out the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">output</td><td>Digital_Output_t* The digital output to be sampled. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00497">497</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="gae27ad2dffb82e46632339521c3cfd6ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a> SetDigitalOutputFaultStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__tle7232__driver.html#ga84bb3f68b575c6add1c27f053b87746a">TLE7232_Status_t</a>&#160;</td>
          <td class="paramname"><em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>chip_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>channel</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the fault status for the specified chip and channel.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>TLE7232_Status_t The fault status to set. </td></tr>
    <tr><td class="paramname">chip_id</td><td>uint8_t The chip which the channel is on. </td></tr>
    <tr><td class="paramname">channel</td><td>uint8_t The channel to set the fault status of. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00587">587</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga3853c412989dc241c2c9157e5102673b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetDigitalOutputWriteFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__tekdaqc__configuration.html#ga163b2a4cc55a569e988df48908631967">WriteFunction</a>&#160;</td>
          <td class="paramname"><em>writeFunction</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the function pointer to use when writing data from a digital output to the data connection.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">writeFunction</td><td>WriteFunction pointer to the desired string writing function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00487">487</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga1198a3ce0740a6ba43f5325d3ba9f950"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WriteAllDigitalOutputs </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes out the data for all added digital outputs to the stream controlled by the WriteFunction, if set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00547">547</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaa10fe33be14ef4d8e16e6345f57938c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WriteDigitalOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_digital___output__t.html">Digital_Output_t</a> *&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes the data for the provided <a class="el" href="struct_digital___output__t.html" title="Data structure used to store the state and requirements of a digital output of the Tekdaqc...">Digital_Output_t</a> structure to the stream controlled by the WriteFunction, if set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">output</td><td>Digital_Output_t* Pointer to the data structure to write out. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_digital___output_8c_source.html#l00523">523</a> of file <a class="el" href="_digital___output_8c_source.html">Digital_Output.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Jul 28 2014 23:42:41 for Tekdaqc Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
